home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 3 / Light ROM 3 - Disc 2.iso / programs / amiga / dps / par252.lha / rexx / ROTO.ddr < prev    next >
Text File  |  2003-03-22  |  3KB  |  127 lines

  1. /* Lightwave/Personal Animation Recorder Rotoscoping Script */
  2.  
  3. /* version 0.1 10/28/93 by David White          */
  4. /* copywrite 1993 Digital Processing Systems    */
  5.  
  6.  
  7. /* ++++++++++++  THIS IS THE USER SETTINGS AREA  +++++++++++++++++++++++++ */
  8.  
  9. sourceName='ddr:Anims/Warp'    /* source/dest names for rotoscope       */
  10. destName  ='ddr:Anims/roto'    /* device, project and name must be used   */
  11.  
  12. /* For LightWave, select "Load Sequence" in Images and use "ram:temp."     */
  13.  
  14. StartFrame= 1
  15. EndFrame  = 30
  16.  
  17. /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  18.  
  19. options failat 20
  20. options results
  21.  
  22. /* ------------------ open the libraries -------------------------- */
  23.  
  24. if ~show('L','rexxsupport.library') then
  25.  
  26.     if ~addlib('rexxsupport.library',0,-30,0) then do
  27.         SAY 'ERROR: rexxsupport.library not available.'
  28.         exit 10
  29.     end
  30.  
  31. if ~show('L','rexxarplib.library') then
  32.  
  33.     if ~addlib('rexxarplib.library',0,-30,0) then do
  34.         SAY 'ERROR: rexxarplib.library not available.'
  35.         exit 10
  36.     end
  37.  
  38. /* ------------------- Are all the programs here ? ----------------*/
  39.  
  40. if ~show('P','LightWaveARexx.port') then do
  41.         SAY 'Lightwave not up and running!'
  42.         SAY 'Please load and try again.'
  43.         exit
  44.     end
  45.  
  46. if ~show('P','DDR') then do
  47.         SAY 'Personal Animation Recorder not up and running!'
  48.         SAY 'Please load and try again.'
  49.         exit
  50.     end
  51.  
  52.  
  53. /* ---------- initial parsing and setup ----------- */
  54.  
  55. parse var sourceName sDev':'sProj'/'sName
  56. parse var destName   dDev':'dProj'/'dName
  57.  
  58. sUnit=Right(sDev,1)
  59. dUnit=Right(dDev,1)
  60.  
  61. Address DDR
  62.  MODE ANIM        /* make sure that the PAR is in anim mode */
  63.  EMODE 1        /* export field 1 */
  64.  PATH 'RAM:'        /* set the output path */
  65.  
  66. Address 'LightWaveARexx.port'
  67.  'SaveImages' destName'.'
  68.  'AsyncMode off' /* make sure that lightwave doesn't run off */
  69.  
  70. address command "c:delete >nil: ram:temp#?"
  71.  
  72.  
  73. /*------------- Start of main loop -------------------*/
  74.  
  75. do frame_num = StartFrame to EndFrame
  76.  
  77.  /* ------------- setup names -------------*/
  78.  
  79.     name3='temp.'Right(frame_num,3,0)    /* 3 digit */
  80.     name4=sName'.F1.'Right(frame_num,4,0)    /* 4 digit */
  81.  
  82.  /* --------- export current frame of source -------- */
  83.  
  84.     address DDR
  85.  
  86.     UNIT    sUnit        /* select drive */
  87.     PROJECT sProj        /* select project */
  88.     if result='' then do;say 'Bad source project';exit;end
  89.     FILE    sName        /* select file to rotoscope out of */
  90.     if result='' then do;say 'Bad source name'   ;exit;end
  91.  
  92.     Say 'Exporting frame' frame_num
  93.     EXPORT frame_num    /* export it */
  94.  
  95.     call Rename('ram:'name4,'ram:'name3) /* rename 4 digit ext. to 3 */
  96.  
  97.  /* ------- Enable append on dest if exists --------- */
  98.  
  99.     UNIT    dUnit
  100.     PROJECT dProj
  101.     if result='' then do;say 'Bad dest project';exit;end
  102.     FILE    dName'.'
  103.     if result~='' then APPEND ON
  104.  
  105.  
  106.  /* ---------------- Render a frame ----------------- */
  107.  
  108.     address 'LightWaveARexx.port'
  109.     'FirstFrame' frame_num
  110.     'LastFrame' frame_num
  111.  
  112.     Say 'Rendering frame' frame_num
  113.     'RENDER 1'
  114.     Say 'done.'
  115.  
  116.  /* --- Delete RAM temp file, and close anim. --- */
  117.  
  118.     call Delete('ram:'name3)
  119.     address DDR DONE
  120. end
  121.  
  122. Address DDR APPEND OFF /* If we get this far, be safe and disable append */
  123.  
  124. Say 'Rotoscoping complete.'
  125. Say 'Thank you for using ROTO.'
  126.  
  127.